Electrophotographic processes for producing a permanent image on media are well known and commonly used. In general, a common process includes: (1) charging a photoreceptor such as a roller or continuous belt bearing a photoconductive material; (2) exposing the charged area to a light image to produce an electrostatic charge on the area in the shape of the image; (3) presenting developer particles (toner) to the photoreceptor surface bearing the image so that the particles are transferred to the surface in the shape of the image; (4) transferring the particles in the shape of the image from the photoreceptor to the media; (5) fusing or fixing the particles in the shape of the image to the media; and (6) cleaning or restoring the photoreceptor for the next printing cycle. Many image forming apparatus, such as laser printers, copy machines, and facsimile machines, utilize this well known electrophotographic printing process.
In laser printers, an image is typically rasterized to form a bit pattern which is stored as a binary image bit map for subsequent rendering into a final output image. The image bitmap is also referred to as a picture element ("pixel") raster image. In the rasterizing process (i.e. forming the binary bitmap), graphic elements, such as continuous lines (line art) and text character outlines are converted to pixel patterns that approximate the source image shape. Continuous tone data, such as photographic data (both color and gray value images) are also converted to pixel patterns that approximate the source continuous tone image data. However, to effectively portray the original source image for continuous tone data, each pixel of the source image must be represented by multiple bits which define either a color or a gray level and which are subsequently converted, typically, to a binary image bitmap. Hereafter, it is to be understood that when the term "gray" is used, it applies to both color and black/white images and, when applied to a color image, relates to the intensity of the color.
Conventionally, in order to represent gray level images on a bi-level (black and white) printer, the pixel data, if not already gray level, is converted into a gray level, multi-bit configuration. For example, when a multi-bit configuration of 8 bits per pixel is employed, 256 gray levels can be represented by the digital pixel values. The individual gray level pixels are converted to binary level pixels (i.e., bi-level data for subsequent rendering) through the use of a dithering process. Spatial dithering is the converting of the multi-bit pixel values (of a source image) to fixed-size, binary, multi-pixel groupings that approximate the average gray value of the corresponding source data. This dithering process provides a halftoned texture to selected areas of the image so as to provide gray value variations therein. Thus, for example, with binary pixels, a 6.times.6 multi-pixel grouping can, in theory, simulate 36 levels of gray, and an 8.times.8 grouping can simulate 64 levels (with white being considered a shade of gray).
The dithering process (i.e. halftoning) employs a comparison of the individual pixel values (specified by a source image intensity array) to control the conversion of the gray level values to appropriate patterns of bi-level data. For purposes of this discussion, a gray level value of 255 in a source image is considered to be "white", and a gray level value of 0 is "black". The threshold matrix comprises a plurality of row-arranged gray level values which are stored in a resultant page buffer array (raster) bitmap. During the dithering process, the threshold matrix is tiled across the image pixels to enable each gray level image pixel to be compared against the correspondingly, logically positioned gray level value of the threshold matrix. In essence, each entry in the threshold matrix is a threshold gray level value which, if equal to or exceeded by the source image gray level pixel value, causes the gray level image pixel to be converted to a "white" pixel (or a binary logical "zero"). If, by contrast, the source image gray level pixel value is less than the corresponding threshold matrix gray level value, it is converted to a "black" pixel (or a binary logical "one"). Further aspects of dithering are discussed in the following patents which are assigned to the assignee of this document, the disclosures of which are incorporated by reference: U.S. Pat. Nos. 5,852,711, 5,625,756, and 5,548,689.
Thus far, the discussion has focused on the differences between rasterizing text (or line art) and halftone images. However, in either case, once a raster page buffer array bitmap is generated from a source image, whether the image is text, line art, or halftone, the desired output image is created (rendered) by causing a laser to be modulated in accordance with the bit pattern stored in the image page buffer array bitmap. The modulated laser beam is scanned across a charged surface of a photosensitive drum in succession of raster scan lines. Each scan line is divided into the pixel areas dictated by the resolution of the bitmap and the pitch of the laser scan. The modulated beam causes some pixel areas to be exposed to a light pulse and some not, thus causing a pattern of overlapping dots on each scan line. Where a pixel area (dot) is illuminated, the photosensitive drum is discharged, so that when it is subsequently toned, the toner adheres to the discharged areas and is repelled by the still-charged areas. The toner that is adhered to the discharged areas is then transferred to paper and fixed in a known manner.
In general, the fidelity of the output image relative to the source data is directly related to the resolution of pixels (dots) in the output image. Arbitrary analog images cannot be exactly reproduced by a bitmap raster unless an infinite resolution is used. For example, as a result of the image's pixel configuration, image edges that are either not parallel to the raster scan direction or not perpendicular to it appear stepped. This is especially noted in text and line art.
With the advent of higher resolution output, the amount of data and thus memory required to render a page goes up dramatically. When a higher resolution print engine receives source image data that is lower in resolution than what the print engine is actually capable of, scaling must occur to map the lower resolution data to the higher resolution print engine. Scaling may, however, actually diminish the image integrity which is unacceptable.
It is advantageous to work with lower resolution source data rather than higher resolution source data from a data processing perspective. Specifically, it is much less time consuming (less data to be processed) and cheaper (less hardware or memory intensive) to work with lower resolution data than higher resolution data.
This invention arose out of concerns associated with providing improved methods of providing lower resolution format data into a higher resolution format.